home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / biz / haage / stormc_w.lha / Wizard-Library / libraries / wizardstring.h < prev    next >
C/C++ Source or Header  |  1996-10-28  |  28KB  |  661 lines

  1. #ifndef    WIZARD_WIZARDSTRING_H
  2. #define    WIZARD_WIZARDSTRING_H
  3.  
  4. #include    <exec/tasks.h>
  5.  
  6. struct WizardStringInfo
  7. {
  8.     struct TextFont            *DefFont;
  9.     struct Hook                    *DefHook;
  10.     struct IBox                     Dimension;
  11.     struct RastPort             CalcRPort;
  12.  
  13.     UBYTE        Translation[256];
  14.     UWORD        (*LineWidth)[];
  15.     UWORD        LineHeight;
  16.  
  17.     ULONG        TextLen;
  18.  
  19.     UBYTE        *Buffer;
  20.     UBYTE        *Undo;
  21.     UBYTE        *Paste;
  22.  
  23.     ULONG        BufferSize;
  24.     ULONG        UndoSize;
  25.     ULONG        PasteSize;
  26.  
  27.     UWORD        TabPixel;
  28.     UWORD        Justification;
  29.  
  30.     UWORD        Lines;
  31.     UWORD        MaxLines;
  32.  
  33.     LONG        TextTop;
  34.     LONG        TextLeft;
  35.     ULONG        TextWidth;
  36.     ULONG        TextHeight;
  37.  
  38.     struct
  39.     {
  40.         WORD    pos;
  41.         WORD    line;
  42.     }Mark;
  43.  
  44.     struct
  45.     {
  46.         WORD    pos;
  47.         WORD    line;
  48.     }Cursor;
  49.  
  50.     struct
  51.     {
  52.         UWORD    BGPen;
  53.         UWORD    TextPen;
  54.         UWORD SBGPen;
  55.         UWORD STextPen;
  56.         UWORD    CBGPen;
  57.         UWORD    CTextPen;
  58.     }
  59.     PenArray;
  60.  
  61.     UWORD    Flags;
  62.     UWORD    HookFlags;
  63.  
  64.     ULONG    Seconds;
  65.     ULONG    Micros;
  66.  
  67.     UWORD    DefMode;
  68.     UWORD    Reserved;
  69.  
  70.     LONG    Value;
  71.     LONG    MinVal;
  72.     LONG    MaxVal;
  73.  
  74. };
  75.  
  76. #define    WINTEGERMODE_DEZ        0
  77. #define    WINTEGERMODE_BIN        1
  78. #define    WINTEGERMODE_HEX        2
  79.  
  80. #define    WSTRINGFLAG_ACTIVE    1
  81. #define    WSTRINGFLAG_MOUSE        2
  82. #define    WSTRINGFLAG_KEYMARK    4
  83.  
  84. // Hook-Methoden, die öffentlich sind *******************************
  85.  
  86. /********************************************************************
  87. **                                                                 **
  88. ** Bei einer unbekannten Methode, ist diese an das Object zurück   **
  89. ** zu geben. Dabei muß der Returnwert weitergegeben werden.        **
  90. **                                                                 **
  91. ** Private Hooks, die den Standard-Hook nicht ersetzen wollen,     **
  92. ** müssen unbekannte Methoden an den Standard-Hook zurückgeben.    **
  93. ** Die Adresse des Standardhooks finden Sie im UserData des neu    **
  94. ** installierten Hooks. Ermitteln Sie diesen immer aufs Neue !     **
  95. **                                                                 **
  96. ** Achtung: In Zukunft werden neue Methoden definiert, so das der  **
  97. ** Standardhook IMMER berücksichtgt werden muß !
  98. **                                                                 **
  99. ********************************************************************/
  100.  
  101. #define    WSTRINGM_DUMMY                    0x100200
  102. #define    WSTRINGM_INIT                    WSTRINGM_DUMMY+0
  103. #define    WSTRINGM_GET                    WSTRINGM_DUMMY+1
  104. #define    WSTRINGM_SET                    WSTRINGM_DUMMY+2
  105. #define    WSTRINGM_INITTEXT                WSTRINGM_DUMMY+3
  106. #define    WSTRINGM_CALCULATEGLYPH        WSTRINGM_DUMMY+4
  107. #define    WSTRINGM_RENDERLINE            WSTRINGM_DUMMY+5
  108. #define    WSTRINGM_GOACTIVE                WSTRINGM_DUMMY+6
  109. #define    WSTRINGM_GOINACTIVE            WSTRINGM_DUMMY+7
  110. #define    WSTRINGM_HANDLEINPUT            WSTRINGM_DUMMY+8
  111. #define    WSTRINGM_TEXTFIT                WSTRINGM_DUMMY+9
  112. #define    WSTRINGM_POINTVISIBLE        WSTRINGM_DUMMY+10
  113. #define    WSTRINGM_INSTALLCLIP            WSTRINGM_DUMMY+11
  114. #define    WSTRINGM_UNINSTALLCLIP        WSTRINGM_DUMMY+12
  115. #define    WSTRINGM_RENDERROWS            WSTRINGM_DUMMY+13
  116. #define    WSTRINGM_MAKEVISIBLE            WSTRINGM_DUMMY+15
  117. #define    WSTRINGM_UPDATE                WSTRINGM_DUMMY+16
  118. #define    WSTRINGM_SETMARK                WSTRINGM_DUMMY+17
  119. #define    WSTRINGM_SETCURSOR            WSTRINGM_DUMMY+18
  120. #define    WSTRINGM_TEXTLEFT                WSTRINGM_DUMMY+19
  121. #define    WSTRINGM_TEXTTOP                WSTRINGM_DUMMY+20
  122. #define    WSTRINGM_MOVECURSOR            WSTRINGM_DUMMY+21
  123. #define    WSTRINGM_INSERTSTRING        WSTRINGM_DUMMY+22
  124. #define    WSTRINGM_COPYBUFFER            WSTRINGM_DUMMY+23
  125. #define    WSTRINGM_INITLINEUNDO        WSTRINGM_DUMMY+24
  126. #define    WSTRINGM_ARROWSTEP            WSTRINGM_DUMMY+25
  127.  
  128. /********************************************************************
  129. **                                                                 **
  130. ** WSTRINGM_INIT:                                                  **
  131. **                                                                 **
  132. ** Returnwert soll immer TRUE sein.                                **
  133. **                                                                 **
  134. ** Wenn der Hook diese Methode nicht behandelt, dann kann er Sie   **
  135. ** ignorieren. In AttrList stehen die Tags, die bei OM_NEW über-   **
  136. ** geben wurden. Dieses Funktion dient zum Vorinitialisieren der   **
  137. ** StringInfo-Struktur.                                            **
  138. **                                                                 **
  139. ********************************************************************/
  140.  
  141. struct WizardStringInit
  142. {
  143.     ULONG                             MethodID;
  144.     struct WizardStringInfo    *wspi_StringInfo;
  145.     struct TagItem                *wspi_AttrList;
  146.     APTR                             wspi_InstData;
  147. };
  148.  
  149. /********************************************************************
  150. **                                                                 **
  151. ** WSTRINGM_GET:                                                   **
  152. **                                                                 **
  153. ** Returnwert ist wie bei OM_GET.                                  **
  154. **                                                                 **
  155. ** Wenn der Hook diese Methode nicht behandlet, dann kann er Sie   **
  156. ** an das Object zurück schicken. Wobei dieses dann diese Methode  **
  157. ** behandelt.                                                      **
  158. **                                                                 **
  159. ** Möchte der Hook dagegen diese Methode behandeln, dann muß er    **
  160. ** Sie an das Object mit der Superklasse weiterleiten, aber mit    **
  161. ** der Methode OM_GET und der Struktur opGet !!!                   **
  162. **                                                                 **
  163. ********************************************************************/
  164.  
  165. struct WizardStringGet
  166. {
  167.     ULONG                             MethodID;
  168.     struct WizardStringInfo    *wspg_StringInfo;
  169.     struct IClass                *wspg_Class;
  170.     ULONG                             wspg_AttrID;
  171.     ULONG                             wspg_Storage;
  172. };
  173.  
  174. /********************************************************************
  175. **                                                                 **
  176. ** WSTRINGM_SET:                                                   **
  177. **                                                                 **
  178. ** Returnwert ist wie bei OM_SET.                                  **
  179. **                                                                 **
  180. ** Wenn der Hook diese Methode nicht behandlet, dann kann er Sie   **
  181. ** an das Object zurück schicken. Wobei dieses dann diese Methode  **
  182. ** behandelt.                                                      **
  183. **                                                                 **
  184. ** Möchte der Hook dagegen diese Methode behandeln, dann muß er    **
  185. ** Sie an das Object mit der Superklasse weiterleiten, aber mit    **
  186. ** der Methoder OM_SET und der Struktur opSet !!!                  **
  187. **                                                                 **
  188. ********************************************************************/
  189.  
  190. struct WizardStringSet
  191. {
  192.     ULONG                             MethodID;
  193.     struct WizardStringInfo    *wsps_StringInfo;
  194.     struct GadgetInfo            *wsps_GInfo;
  195.     struct IClass                *wsps_Class;
  196.     struct TagItem                *wsps_AttrList;
  197.     ULONG                             wsps_Redraw;
  198. };
  199.  
  200. /********************************************************************
  201. **                                                                 **
  202. ** WSTRINGM_INITTEXT:                                              **
  203. **                                                                 **
  204. ** Returnwert ist undefiniert, behandelt der Hook diese Methode,   **
  205. ** dann muß er nicht an das Object weitergegeben werden !          **
  206. **                                                                 **
  207. ** Diese Methode wird von der Standard Set-Methode ausgelösst und  **
  208. ** dient dem Berechnen der Dimension des gesamten Textes.          **
  209. **                                                                 **
  210. ** Die Textaddresse steht dabei in StringInfo->buffer.             **
  211. ** Dabei muß TextWidth, TextHeight und Lines eingetragen werden.   **
  212. ** Der RastPort ist temporär und darf nur für Berechnungen wie     **
  213. ** TextLength() oder ähnliches benutzt werden,er wurde mit         **
  214. ** InitRastPort() vorinitialisiert.                                **
  215. **                                                                 **
  216. ** Setzen Sie bitte StringInfo->Lines auf die Anzahl der Zeilen.   **
  217. **                                                                 **
  218. ********************************************************************/
  219.  
  220. struct WizardStringInitText
  221. {
  222.     ULONG                             MethodID;
  223.     struct WizardStringInfo    *wspit_StringInfo;
  224. };
  225.  
  226. /********************************************************************
  227. **                                                                 **
  228. ** WSTRINGM_CALCULATEGLYPH:                                        **
  229. **                                                                 **
  230. ** Diese Methode dient dem Ausrechnen der Position und Breite des  **
  231. ** angegebenen Zeichens. Möchten Sie die Breite der gesamten Zeile **
  232. ** wissen, dann sollten Sie in LeftEdge eine NULL eingeben und als **
  233. ** Position des zu berechnenden Zeichens die Länge der Zeile.      **
  234. **                                                                 **
  235. ********************************************************************/
  236.  
  237. struct WizardStringCalculateGlyph
  238. {
  239.     ULONG                             MethodID;
  240.     struct WizardStringInfo    *wspcg_StringInfo;
  241.     UWORD                             wspcg_Char;
  242.     UWORD                             wspcg_LeftEdge;
  243.     UBYTE                            *wspcg_Address;
  244.     UWORD                            *wspcg_GlyphLeftEdge;
  245.     UWORD                            *wspcg_GlyphWidth;
  246. };
  247.  
  248. /********************************************************************
  249. **                                                                 **
  250. ** WSTRINGM_RENDERLINE:                                            **
  251. **                                                                 **
  252. ** Returnwert ist undefiniert, behandelt der Hook diese Methode,   **
  253. ** dann muß er nicht an das Object zurückgegeben werden !          **
  254. **                                                                 **
  255. ** Dabei muß der Hook die Darstellung dieser einen Zeile über-     **
  256. ** nehmen. Die StringInfo-Struktur darf nur gelesen werden !       **
  257. ** Der RastPort ist mit einer gültigen Clipping-Region versehen    **
  258. ** MinX und MaxX sollen ihnen helfen Elemente bereits ein wenig    **
  259. ** vorzuclippen, so das das Zeichnen selbst sehr schnell geht.     **
  260. **                                                                 **
  261. ********************************************************************/
  262.  
  263. struct WizardStringRenderLine
  264. {
  265.     ULONG                             MethodID;
  266.     struct WizardStringInfo    *wsprl_StringInfo;
  267.     struct DrawInfo             *wsprl_DrInfo;
  268.     struct RastPort            *wsprl_RPort;
  269.     char                            *wsprl_Address;
  270.     ULONG                             wsprl_Line;
  271.     ULONG                             wsprl_Cursor;
  272.     ULONG                             wsprl_MarkBegin;
  273.     ULONG                             wsprl_MarkEnd;
  274.     LONG                             wsprl_LeftEdge;
  275.     LONG                             wsprl_TopEdge;
  276.     LONG                             wsprl_MinX; // ClipGrenzen
  277.     LONG                             wsprl_MaxX; // ClipGrenzen
  278. };
  279.  
  280. /********************************************************************
  281. **                                                                 **
  282. ** WSTRINGM_TEXTFIT:                                               **
  283. **                                                                 **
  284. ** Errechnet die Anzahl der Zeichen, die in den angegebenene Ab-   **
  285. ** schnitt passen und gibt die Breite zurück.                      **
  286. **                                                                 **
  287. ** Der Returnwert ist die Anzahl der Zeichen, die passen.          **
  288. **                                                                 **
  289. ********************************************************************/
  290.  
  291. struct WizardStringTextFit
  292. {
  293.     ULONG                             MethodID;
  294.     struct WizardStringInfo    *wsptf_StringInfo;
  295.     UBYTE                             *wsptf_Address;
  296.     ULONG                             wsptf_LeftEdge;
  297.     ULONG                             wsptf_MaxWidth;
  298.     UWORD                            *wsptf_TextWidth;
  299. };
  300.  
  301. /********************************************************************
  302. **                                                                 **
  303. ** WSTRINGM_POINTVISIBLE:                                          **
  304. **                                                                 **
  305. ** Diese Methode darf vom Hook an das Object weitergegeben werden, **
  306. ** um zu erfahren, ob die Mouse innerhalb des Objektes ist, dabei  **
  307. ** wird die umgebenden Clippingregion berücksichtigt (Fenster-     **
  308. ** ränder etc.).                                                   **
  309. **                                                                 **
  310. ** Der Returnwert ist TRUE, wenn er sichtbar ist,alos zum Object   **
  311. ** gehört. Die Angaben müssen absolut sein !!!                     **
  312. **                                                                 **
  313. ********************************************************************/
  314.  
  315. struct WizardStringPointVisible
  316. {
  317.     ULONG                             MethodID;
  318.     struct
  319.     {
  320.         LONG    X;
  321.         LONG    Y;
  322.     }                                 wsppv_Mouse;
  323. };
  324.  
  325. /********************************************************************
  326. **                                                                 **
  327. ** WSTRINGM_GOACTIVE:                                              **
  328. ** WSTRINGM_HANDLEINPUT:                                           **
  329. **                                                                 **
  330. ** Der Returnwert ist identisch mit den entsprechenden Methoden    **
  331. ** des BOOPSI-Systems.                                             **
  332. **                                                                 **
  333. ** Diese Methoden müssen vom Hook behandlet werden, da Sie das     **
  334. ** spezifische Verhalten eines String ausmachen. Um die Node unter **
  335. ** der Mouse in Erfahrung zu bringen können Sie von hier aus die   **
  336. ** Methode WSTRINGM_MOUSEITEM an das Object senden. Dadurch können **
  337. ** Sie sich einige Arbeit sparen.                                  **
  338. **                                                                 **
  339. ********************************************************************/
  340.  
  341.  
  342. struct WizardStringInput
  343. {
  344.     ULONG                             MethodID;
  345.     struct WizardStringInfo    *wspi_StringInfo;
  346.     struct GadgetInfo         *wspi_GInfo;
  347.     struct InputEvent            *wspi_IEvent;
  348.     struct
  349.     {
  350.         LONG    X;
  351.         LONG    Y;
  352.     }                                 wspi_Mouse;
  353. };
  354.  
  355. /********************************************************************
  356. **                                                                 **
  357. ** WSTRINGM_GOINACTIVE:                                            **
  358. **                                                                 **
  359. ** Der Returnwert ist undefiniert.                                 **
  360. ** Diese Methode muß vom Hook behandlet werden.                    **
  361. **                                                                 **
  362. ********************************************************************/
  363.  
  364. struct WizardStringInActive
  365. {
  366.     ULONG                             MethodID;
  367.     struct WizardStringInfo    *wspia_StringInfo;
  368.     struct GadgetInfo         *wspia_GInfo;
  369.     ULONG                             wspia_Abort;
  370. };
  371.  
  372.  
  373. /********************************************************************
  374. **                                                                 **
  375. ** WSTRINGM_INSTALLCLIP:                                           **
  376. **                                                                 **
  377. ** Der Returnwert ist FALSE, wenn ein Fehler aufgetreten ist.      **
  378. ** Sollte dies der Fall sein, dann wurde die Clippingregion NICHT  **
  379. ** installiert ! Das Clipprectangle wird mit dem umgebenden Clip-  **
  380. ** rectangle logisch verknüpft.                                    **
  381. **                                                                 **
  382. ********************************************************************/
  383.  
  384. struct WizardStringInstallClip
  385. {
  386.     ULONG                             MethodID;
  387.     struct WizardStringInfo    *wspic_StringInfo;
  388.     struct GadgetInfo            *wspic_GInfo;
  389.     struct RastPort            *wspic_RPort;
  390.     struct Region              **wspic_OldRegion;
  391.     struct Rectangle            *wspic_ClipRectangle;
  392. };
  393.  
  394. /********************************************************************
  395. **                                                                 **
  396. ** WSTRINGM_UNINSTALLCLIP:                                         **
  397. **                                                                 **
  398. ** Der Returnwert ist undefiniert.                                 **
  399. **                                                                 **
  400. ********************************************************************/
  401.  
  402. struct WizardStringUnInstallClip
  403. {
  404.     ULONG                             MethodID;
  405.     struct GadgetInfo            *wspuic_GInfo;
  406.     struct RastPort            *wspuic_RPort;
  407.     struct Region                *wspuic_OldRegion;
  408. };
  409.  
  410. /********************************************************************
  411. **                                                                 **
  412. ** WSTRINGM_MAKEVISIBLE:                                           **
  413. **                                                                 **
  414. ** Beauftragt das Object das angegebene Char voll sichtbar zu      **
  415. ** machen. Dabei prüft das Object, ob der Char überhaupt in den    **
  416. ** sichtbaren Bereich gebracht werden muß.                         **
  417. **                                                                 **
  418. ** Der Returnwert ist undefiniert.                                 **
  419. **                                                                 **
  420. ********************************************************************/
  421.  
  422. struct WizardStringMakeVisible
  423. {
  424.     ULONG                             MethodID;
  425.     struct WizardStringInfo    *wspmv_StringInfo;
  426.     struct GadgetInfo            *wspmv_GInfo;
  427.     ULONG                             wspmv_Line;
  428.     ULONG                             wspmv_Pos;
  429. };
  430.  
  431. /********************************************************************
  432. **                                                                 **
  433. ** WSTRINGM_UPDATE:                                                **
  434. **                                                                 **
  435. ** Beauftragt das Object den angegebene Bereich neu zu zeichnen,   **
  436. ** außerdem wird das vertikale Linkobject mit neuen Listendaten    **
  437. ** versorgt.                                                       **
  438. **                                                                 **
  439. ** Der Returnwert ist undefiniert.                                 **
  440. **                                                                 **
  441. ********************************************************************/
  442.  
  443. struct WizardStringUpdate
  444. {
  445.     ULONG                             MethodID;
  446.     struct WizardStringInfo    *wspu_StringInfo;
  447.     struct GadgetInfo            *wspu_GInfo;
  448.     struct RastPort            *wspu_RPort;
  449.     LONG                             wspu_MinX;
  450.     LONG                             wspu_MaxX;
  451.     LONG                             wspu_MinY;
  452.     LONG                             wspu_MaxY;
  453. };
  454.  
  455. /********************************************************************
  456. **                                                                 **
  457. ** WSTRINGM_RENDERROWS:                                            **
  458. **                                                                 **
  459. ** Beauftragt das Object die angegebenen Zeilen neu darzustellen,  **
  460. ** dabei muß in Count die Anzahl der zusätzlichen Zeilen stehen,   **
  461. ** welche ebenfalls noch dargestellt werden soll.                  **
  462. **                                                                 **
  463. ** Der Returnwert ist undefiniert.                                 **
  464. **                                                                 **
  465. ********************************************************************/
  466.  
  467. struct WizardStringRenderRows
  468. {
  469.     ULONG                             MethodID;
  470.     struct WizardStringInfo    *wsprr_StringInfo;
  471.     struct DrawInfo            *wsprr_DrInfo;
  472.     struct RastPort            *wsprr_RPort;
  473.     UBYTE                            *wsprr_Address;
  474.     ULONG                             wsprr_Line;
  475.     ULONG                             wsprr_Count;
  476. };
  477.  
  478. /********************************************************************
  479. **                                                                 **
  480. ** WSTRINGM_SETMARK:                                               **
  481. **                                                                 **
  482. ** Beauftragt das Object die Methoder durchzuführen, dabei werden  **
  483. ** alle notwendigen Änderungen am Schirm durchgeführt.             **
  484. **                                                                 **
  485. ** Der Returnwert ist undefiniert.                                 **
  486. **                                                                 **
  487. ********************************************************************/
  488.  
  489. struct WizardStringSetMark
  490. {
  491.     ULONG                             MethodID;
  492.     struct WizardStringInfo    *wspsm_StringInfo;
  493.     struct GadgetInfo            *wspsm_GInfo;
  494.     struct RastPort            *wspsm_RPort;
  495.     ULONG                             wspsm_Line;
  496.     ULONG                             wspsm_Pos;
  497. };
  498.  
  499. /********************************************************************
  500. **                                                                 **
  501. ** WSTRINGM_SETCURSOR:                                             **
  502. **                                                                 **
  503. ** Beauftragt das Object die Methoder durchzuführen, dabei werden  **
  504. ** alle notwendigen Änderungen am Schirm durchgeführt.             **
  505. **                                                                 **
  506. ** Der Returnwert ist undefiniert.                                 **
  507. **                                                                 **
  508. ********************************************************************/
  509.  
  510. struct WizardStringSetCursor
  511. {
  512.     ULONG                             MethodID;
  513.     struct WizardStringInfo    *wspsc_StringInfo;
  514.     struct GadgetInfo            *wspsc_GInfo;
  515.     struct RastPort            *wspsc_RPort;
  516.     ULONG                             wspsc_Line;
  517.     ULONG                             wspsc_Pos;
  518. };
  519.  
  520. /********************************************************************
  521. **                                                                 **
  522. ** WSTRINGM_TEXTLEFT:                                              **
  523. **                                                                 **
  524. ** Beauftragt das Object die Methode durchzuführen, dabei werden   **
  525. ** alle notwendigen Änderungen am Schirm durchgeführt. Eventuelle  **
  526. ** Link-Objekte werden berücksichtigt.                             **
  527. **                                                                 **
  528. ** Der Returnwert ist undefiniert.                                 **
  529. **                                                                 **
  530. ********************************************************************/
  531.  
  532. struct WizardStringTextLeft
  533. {
  534.     ULONG                             MethodID;
  535.     ULONG                             wsptl_TextLeft;
  536.     struct GadgetInfo            *wsptl_GInfo;
  537. };
  538.  
  539. /********************************************************************
  540. **                                                                 **
  541. ** WSTRINGM_TEXTTOP:                                               **
  542. **                                                                 **
  543. ** Beauftragt das Object die Methode durchzuführen, dabei werden   **
  544. ** alle notwendigen Änderungen am Schirm durchgeführt. Eventuelle  **
  545. ** Link-Objekte werden berücksichtigt.                             **
  546. **                                                                 **
  547. ** Der Returnwert ist undefiniert.                                 **
  548. **                                                                 **
  549. ********************************************************************/
  550.  
  551. struct WizardStringTextTop
  552. {
  553.     ULONG                             MethodID;
  554.     ULONG                             wsptt_TextTop;
  555.     struct GadgetInfo            *wsptt_GInfo;
  556. };
  557.  
  558. /********************************************************************
  559. **                                                                 **
  560. ** WSTRINGM_MOVECURSOR:                                            **
  561. **                                                                 **
  562. ** Beauftragt das Object die Marke und den Cursor zu setzten und   **
  563. ** alle notwendigen Änderungen am Schirm durchgeführt. Dabei wird  **
  564. ** gleichzeitig die Sichtbarkeit des Cursors gecheckt.             **
  565. **                                                                 **
  566. ** Der Returnwert ist undefiniert.                                 **
  567. **                                                                 **
  568. ********************************************************************/
  569.  
  570. struct WizardStringMoveCursor
  571. {
  572.     ULONG                             MethodID;
  573.     struct WizardStringInfo *wspmc_StringInfo;
  574.     struct GadgetInfo            *wspmc_GInfo;
  575.     ULONG                             wspmc_Line;
  576.     ULONG                             wspmc_Pos;
  577. };
  578.  
  579. /********************************************************************
  580. **                                                                 **
  581. ** WSTRINGM_INSERTSTRING:                                          **
  582. **                                                                 **
  583. ** Beauftragt das Object die Marke und den Cursor zu setzten und   **
  584. ** alle notwendigen Änderungen am Schirm durchgeführt. Dabei wird  **
  585. ** gleichzeitig die Sichtbarkeit des Cursors gecheckt.             **
  586. **                                                                 **
  587. ** Der Returnwert ist undefiniert.                                 **
  588. **                                                                 **
  589. ********************************************************************/
  590.  
  591. struct WizardStringInsertString
  592. {
  593.     ULONG                             MethodID;
  594.     struct WizardStringInfo *wspis_StringInfo;
  595.     struct GadgetInfo            *wspis_GInfo;
  596.     UBYTE                            *wspis_InsertString;
  597.     UBYTE                            *wspis_CutBuffer;
  598.     ULONG                             wspis_CutBufferSize;
  599. };
  600.  
  601. /********************************************************************
  602. **                                                                 **
  603. ** WSTRINGM_COPYBUFFER:                                            **
  604. **                                                                 **
  605. ** Beauftragt das Object den markierten Bereich in den angegebenen **
  606. ** Buffer zu kopieren. Eine Änderung am Schirm erfolgt nicht !     **
  607. **                                                                 **
  608. ** Der Returnwert ist undefiniert.                                 **
  609. **                                                                 **
  610. ********************************************************************/
  611.  
  612. struct WizardStringCopyBuffer
  613. {
  614.     ULONG                             MethodID;
  615.     struct WizardStringInfo *wspcb_StringInfo;
  616.     UBYTE                            *wspcb_Buffer;
  617.     ULONG                             wspcb_BufferSize;
  618. };
  619.  
  620. /********************************************************************
  621. **                                                                 **
  622. ** WSTRINGM_INITLINEUNDO:                                          **
  623. **                                                                 **
  624. ** Beauftragt das Object die angegebene Zeile in den Undo-Buffer   **
  625. ** der StringInfo-Struktur zu kopieren. Später kann man diesen     **
  626. ** wieder in diese Zeile einfügen lassen.                          **
  627. **                                                                 **
  628. ** Der Returnwert ist undefiniert.                                 **
  629. **                                                                 **
  630. ********************************************************************/
  631.  
  632. struct WizardStringInitLineUndo
  633. {
  634.     ULONG                             MethodID;
  635.     struct WizardStringInfo *wspilu_StringInfo;
  636. };
  637.  
  638. /********************************************************************
  639. **                                                                 **
  640. ** WSTRINGM_ARROWSTEP:                                             **
  641. **                                                                 **
  642. ** Returnwert ist undefiniert.                                     **
  643. **                                                                 **
  644. ** Wenn der Hook diese Methode nicht behandelt, dann kann er Sie   **
  645. ** ignorieren. In AttrList stehen die Tags, die bei OM_NEW über-   **
  646. ** geben wurden. Dieses Funktion dient zum Vorinitialisieren der   **
  647. ** StringInfo-Struktur.                                            **
  648. **                                                                 **
  649. ********************************************************************/
  650.  
  651. struct WizardStringArrowStep
  652. {
  653.     ULONG MethodID;
  654.     struct WizardStringInfo    *wspas_StringInfo;
  655.     struct GadgetInfo            *wspas_GInfo;
  656.     ULONG                             wspas_Type;
  657.     ULONG                             wspas_Step;
  658. };
  659.  
  660. #endif /* WIZARD_WIZARDVIEW_H */
  661.